package com.gency.subscribe.model.system;

import java.util.Date;
import org.hibernate.validator.constraints.Length;
import org.hibernate.validator.constraints.NotEmpty;

import com.gency.subscribe.model.base.BaseModel;

/**
	* 作者:唐鹏
	* 描述:
	* 版本: version 1.0.0
	* 时间:2017-08-24 17:01:23
  */
public class ManageAdmin extends BaseModel {
    /**
     * 运营平台管理员数据Id
     * 表字段 : manage_admin.id
     */
    private Integer id;

    /**
     * 管理员数据编号
     * 表字段 : manage_admin.number
     */
    private String number;

    /**
     * 0:正常 1:限制
     * 表字段 : manage_admin.state
     */
    private Integer state;

    /**
     * 0:普通 1:system
     * 表字段 : manage_admin.type
     */
    private Integer type;

    /**
     * 用户名
     * 表字段 : manage_admin.loginname
     */
    @NotEmpty(message="用户名不能为空")
    @Length(max=50,message="用户名太长")
    //@Pattern(regexp="/^[0-9a-zA-Z_-]{6,12}$/",message="用户名必须是字母、数字、下划线、横杠组成的最小6位最多12位的字符！")
    private String loginname;

    /**
     * 未加密的密码
     * 表字段 : manage_admin.unencryptedPassword
     */
    @NotEmpty(message="请输入密码")
    @Length(max=50,message="用户密码最小6位最多12位的字符！")
    private String unencryptedpassword;

    /**
     * 加密后的密码
     * 表字段 : manage_admin.password
     */
    private String password;

    /**
     * 加密盐
     * 表字段 : manage_admin.salt
     */
    private String salt;

    /**
     * 创建时间
     * 表字段 : manage_admin.createtime
     */
    private Date createtime;

    /**
     * 
     * 表字段 : manage_admin.lastLoginIp
     */
    private String lastloginip;

    /**
     * 最近一次登录IP
     * 表字段 : manage_admin.lastLoginTime
     */
    private Date lastlogintime;

    /**
     * 0:正常 1:删除
     * 表字段 : manage_admin.isDelete
     */
    private Integer isdelete;

    /**
     * 创建人
     * 表字段 : manage_admin.createadmin
     */
    private Integer createadmin;
    
    private Integer [] roleIds;//关联角色Id
    

	/**
     * This field was generated by MyBatis Generator.
     * This field corresponds to the database table manage_admin
     *
     * @mbg.generated Thu Aug 24 17:01:23 CST 2017
     */
    private static final long serialVersionUID = 1L;

    /**
     * 获取 运营平台管理员数据Id 字段:manage_admin.id
     *
     * @return manage_admin.id, 运营平台管理员数据Id
     */
    public Integer getId() {
        return id;
    }

    /**
     * 设置 运营平台管理员数据Id 字段:manage_admin.id
     *
     * @param id the value for manage_admin.id, 运营平台管理员数据Id
     */
    public void setId(Integer id) {
        this.id = id;
    }

    /**
     * 获取 管理员数据编号 字段:manage_admin.number
     *
     * @return manage_admin.number, 管理员数据编号
     */
    public String getNumber() {
        return number;
    }

    /**
     * 设置 管理员数据编号 字段:manage_admin.number
     *
     * @param number the value for manage_admin.number, 管理员数据编号
     */
    public void setNumber(String number) {
        this.number = number == null ? null : number.trim();
    }

    /**
     * 获取 0:正常 1:限制 字段:manage_admin.state
     *
     * @return manage_admin.state, 0:正常 1:限制
     */
    public Integer getState() {
        return state;
    }

    /**
     * 设置 0:正常 1:限制 字段:manage_admin.state
     *
     * @param state the value for manage_admin.state, 0:正常 1:限制
     */
    public void setState(Integer state) {
        this.state = state;
    }

    /**
     * 获取 0:普通 1:system 字段:manage_admin.type
     *
     * @return manage_admin.type, 0:普通 1:system
     */
    public Integer getType() {
        return type;
    }

    /**
     * 设置 0:普通 1:system 字段:manage_admin.type
     *
     * @param type the value for manage_admin.type, 0:普通 1:system
     */
    public void setType(Integer type) {
        this.type = type;
    }

    /**
     * 获取 用户名 字段:manage_admin.loginname
     *
     * @return manage_admin.loginname, 用户名
     */
    public String getLoginname() {
        return loginname;
    }

    /**
     * 设置 用户名 字段:manage_admin.loginname
     *
     * @param loginname the value for manage_admin.loginname, 用户名
     */
    public void setLoginname(String loginname) {
        this.loginname = loginname == null ? null : loginname.trim();
    }

    /**
     * 获取 未加密的密码 字段:manage_admin.unencryptedPassword
     *
     * @return manage_admin.unencryptedPassword, 未加密的密码
     */
    public String getUnencryptedpassword() {
        return unencryptedpassword;
    }

    /**
     * 设置 未加密的密码 字段:manage_admin.unencryptedPassword
     *
     * @param unencryptedpassword the value for manage_admin.unencryptedPassword, 未加密的密码
     */
    public void setUnencryptedpassword(String unencryptedpassword) {
        this.unencryptedpassword = unencryptedpassword == null ? null : unencryptedpassword.trim();
    }

    /**
     * 获取 加密后的密码 字段:manage_admin.password
     *
     * @return manage_admin.password, 加密后的密码
     */
    public String getPassword() {
        return password;
    }

    /**
     * 设置 加密后的密码 字段:manage_admin.password
     *
     * @param password the value for manage_admin.password, 加密后的密码
     */
    public void setPassword(String password) {
        this.password = password == null ? null : password.trim();
    }

    /**
     * 获取 加密盐 字段:manage_admin.salt
     *
     * @return manage_admin.salt, 加密盐
     */
    public String getSalt() {
        return salt;
    }

    /**
     * 设置 加密盐 字段:manage_admin.salt
     *
     * @param salt the value for manage_admin.salt, 加密盐
     */
    public void setSalt(String salt) {
        this.salt = salt == null ? null : salt.trim();
    }

    /**
     * 获取 创建时间 字段:manage_admin.createtime
     *
     * @return manage_admin.createtime, 创建时间
     */
    public Date getCreatetime() {
        return createtime;
    }

    /**
     * 设置 创建时间 字段:manage_admin.createtime
     *
     * @param createtime the value for manage_admin.createtime, 创建时间
     */
    public void setCreatetime(Date createtime) {
        this.createtime = createtime;
    }

    /**
     * 获取  字段:manage_admin.lastLoginIp
     *
     * @return manage_admin.lastLoginIp, 
     */
    public String getLastloginip() {
        return lastloginip;
    }

    /**
     * 设置  字段:manage_admin.lastLoginIp
     *
     * @param lastloginip the value for manage_admin.lastLoginIp, 
     */
    public void setLastloginip(String lastloginip) {
        this.lastloginip = lastloginip == null ? null : lastloginip.trim();
    }

    /**
     * 获取 最近一次登录IP 字段:manage_admin.lastLoginTime
     *
     * @return manage_admin.lastLoginTime, 最近一次登录IP
     */
    public Date getLastlogintime() {
        return lastlogintime;
    }

    /**
     * 设置 最近一次登录IP 字段:manage_admin.lastLoginTime
     *
     * @param lastlogintime the value for manage_admin.lastLoginTime, 最近一次登录IP
     */
    public void setLastlogintime(Date lastlogintime) {
        this.lastlogintime = lastlogintime;
    }

    /**
     * 获取 0:正常 1:删除 字段:manage_admin.isDelete
     *
     * @return manage_admin.isDelete, 0:正常 1:删除
     */
    public Integer getIsdelete() {
        return isdelete;
    }

    /**
     * 设置 0:正常 1:删除 字段:manage_admin.isDelete
     *
     * @param isdelete the value for manage_admin.isDelete, 0:正常 1:删除
     */
    public void setIsdelete(Integer isdelete) {
        this.isdelete = isdelete;
    }

    /**
     * 获取 创建人 字段:manage_admin.createadmin
     *
     * @return manage_admin.createadmin, 创建人
     */
    public Integer getCreateadmin() {
        return createadmin;
    }

    /**
     * 设置 创建人 字段:manage_admin.createadmin
     *
     * @param createadmin the value for manage_admin.createadmin, 创建人
     */
    public void setCreateadmin(Integer createadmin) {
        this.createadmin = createadmin;
    }

	public Integer[] getRoleIds() {
		return roleIds;
	}

	public void setRoleIds(Integer[] roleIds) {
		this.roleIds = roleIds;
	}
    
    
}